package com.qinggeng.project.system.mapper;

import java.util.List;

import com.qinggeng.project.api.dto.GoodsCollectDto;
import com.qinggeng.project.api.dto.GoodsDto;
import com.qinggeng.project.system.domain.UserCollect;
import org.apache.ibatis.annotations.Param;

/**
 * 用户收藏信息Mapper接口
 * 
 * @author qinggeng
 * @date 2020-06-16
 */
public interface UserCollectMapper 
{
    /**
     * 查询用户收藏信息
     * 
     * @param collectId 用户收藏信息ID
     * @return 用户收藏信息
     */
    public UserCollect selectUserCollectById(Long collectId);

    /**
     * 查询用户收藏信息列表
     * 
     * @param userCollect 用户收藏信息
     * @return 用户收藏信息集合
     */
    public List<UserCollect> selectUserCollectList(UserCollect userCollect);

    /**
     * 新增用户收藏信息
     * 
     * @param userCollect 用户收藏信息
     * @return 结果
     */
    public int insertUserCollect(UserCollect userCollect);

    /**
     * 修改用户收藏信息
     * 
     * @param userCollect 用户收藏信息
     * @return 结果
     */
    public int updateUserCollect(UserCollect userCollect);

    /**
     * 删除用户收藏信息
     * 
     * @param collectId 用户收藏信息ID
     * @return 结果
     */
    public int deleteUserCollectById(Long collectId);

    /**
     * 批量删除用户收藏信息
     * 
     * @param collectIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteUserCollectByIds(Long[] collectIds);

    /**
     * 查询收藏信息
     * @param goodsId
     * @param shopId
     * @param userId
     * @return
     */
    UserCollect selectUserCollectByUserId(@Param("goodsId") Long goodsId, @Param("shopId") Long shopId,@Param("userId") Long userId);

    /**
     * 收藏列表
     * @param where
     * @return
     */
    List<GoodsCollectDto> selectUserCollectGoodsList(UserCollect where);
}
